Current Command List:
NOTE:   <var>  = Required Parameter or Return Value
        [var]  = Optional Parameter
        (type) = Variable Type
                 "bool" is just an integer of value 0 (false) or 1 (true).

NOTE:  A multi-path playlist system has been introduced.  Here is a brief explaination on how to create
    multi-path playlists.  The commands emcCreatePlaylist and emcRecreatePlaylist accept a special
    multi-path syntax in their Path parameter.  You can list multiple paths by seperating them by
    a Pipe Character '|' or a Greater-Than Sign '>'.  Why two?  Because Pipe Characters aren't typable in the
    console.  I suggest the Pipe Character if you are creating scripts in the CS, as it looks less awkward.
    
    An example:  emcCreatePlaylist "myTest" "Data\Music\myMusic\[A]*.*|Data\Music\myMusic\[B]*.*"
    Remember, a command can only have 512 characters in it's string type parameters.  If you need a
    whole lot of paths in a playlist, use emcAddPathToPlaylist instead, but keep in mind this command
    only accepts ONE path.  emcAddPathToPlaylist does not have multi-path support.  You will need to
    call it once per path.

emcGetDesiredMusicType
    Gets the music type Oblivion wishes to play.  NOTE:  This command is unaffected by the Battle Override.
    Usage:  <(int) Extended_MusicType> emcGetDesiredMusicType

emcGetSpecialMusicType
    Gets the special music type Oblivion wishes to play.
    Usage:  <(int) SpecialMusicType> emcGetSpecialMusicType

emcCreatePlaylist
    Creates a new playlist with the specified name and path.  Supports the multi-path syntax.
    When creating playlists, please give them unique names to minimize chances of conflict with other mods.
    Usage:  <(bool) Success> emcCreatePlaylist <(string) Name> <(string) Path>

emcPlaylistExists
    Returns a value indicating if the specified playlist exists.
    Usage:  <(bool) Exists> emcPlaylistExists <(string) Name>

emcChangePlaylist
    Changes the playlist for the specified MusicType.
    If Extended_MusicType is the currenlty playing type, the music will stop and then play the new music.
    Extended_MusicType must be between 0 and 4 for this command to have an effect.
    Use QueuedMode to swap out a playlist with a currently playing track without interupting the track.
    The track will play to the end or be stopped due to a state change before the playlist is swapped.
    The queue will be canceled if emcChangePlaylist is called to change the same music type without
    QueuedMode enabled.
    Usage:  <(bool) Success> emcChangePlaylist <(int) Extended_MusicType> <(string) PlaylistName> [(bool) QueuedMode]

emcRestoreDefaultPlaylist
    Restores the specified playlist to default.  -1 restores all to default.
    Extended_MusicType must be between -1 and 4 for this command to have an effect.
    The Custom MusicType's playlist can not be reset using this command.
    Calling this command with no arguments or an Extended_MusicType of -1 will result
    in the restart of any music currently playing.  It should only be used like that
    when all (or nearly all) MusicTypes had their playlist altered.
    Usage:  emcRestoreDefaultPlaylist [(int) Extended_MusicType]

emcIsMusicSwitching
    Indicates if the player is busy and can't immediately execute music altering commands.
    This will return true when the player is performing fades and the like.
    You should wait until the player has finished switching before
    you issue a command that will change the playing music.
    Usage:  <(bool) Switching> emcIsMusicSwitching

emcGetRelativeVolume
    Gets the volume relative to the game's maximum.
    Usage:  <(float) Volume> emcGetRelativeVolume

emcSetRelativeVolume
    Sets the volume relative to the game's maximum.
    Volume must be between 0.0 and 1.0 for this command to have an effect.
    Usage:  emcSetRelativeVolume <(float) Volume>

emcPrintPlaylist
    Debug Command, prints the specified playlist to the console.
    Usage:  emcPrintPlaylist <(string) PlaylistName>

emcPrintAvailablePlaylists
    Debug Command, prints all available playlist names to the console.
    Usage:  emcPrintAvailablePlaylists

emcPrintPlayingMusicFile
    Debug Command, prints the full path to the file the music player is currently playing.
    Usage:  emcPrintPlayingMusicFile

emcRecreatePlaylist
    Recreates the specified playlist with a new path.  Supports the multi-path syntax.
    This command is nearly identical to emcCreatePlaylist, except it operates on existing playlists.
    Usage:  <(bool) Success> emcRecreatePlaylist <(string) Name> <(string) Path>

emcAddPathToPlaylist
    Adds a single, new path to an existing playlist.  Does NOT support the multi-path syntax.
    Usage:  <(bool) Success> emcAddPathToPlaylist <(string) Name> <(string) Path>

emcIsPlaylistActive
    Returns a value indicating if the specified playlist is currently assigned to a MusicType.
    Use this to determine if a playlist can be modified by the above two commands.  If this command
    returns true, you won't be able to modify the playlist.
    Usage:  <(bool) Active> emcIsPlaylistActive <(string) Name>

emcEnableBattleOverride
    Attempts to override the Battle music.  This command will prevent the Battle MusicType
    from being used int the MusicPlayer.  This effectively disables Battle Music.
    Returns 1 if the override was successful, or 0 if the override is allready in place.
    Note:  Music that is suitable for the location will still play.
    Usage:  <(bool) Success> emcEnableBattleOverride

emcDisableBattleOverride
    Attempts to remove the Battle Override.  This command will restore the Battle MusicType
    and allow the Battle Music to play once more.
    Returns 1 if the override was removed, or 0 if the override wasn't in place.
    Usage:  <(bool) Success> emcDisableBattleOverride

emcIsBattleOverridden
    Returns a value indicating if the battle music override is active.
    Usage:  <(bool) Overridden> emcIsBattleOverridden

Enumerations:
Extended_MusicType
    0   = Explore
    1   = Public
    2   = Dungeon
    3   = Custom
    4   = Battle
    5   = Undefined     (Unused)
    8   = Special
    255 = NotKnown      (Value at game's start)

SpecialMusicType
    0   = Death
    1   = Title
    2   = Success
    255 = NotKnown      (Value at game's start)

FadeMethod
    0   = NoFade
    1   = FadeIn
    2   = FadeOut
    3   = FadeOutThenIn
    255 = Undefined     (Value after player initialize)


Default Playlists:
Explore = "obExplore"
Public =  "obPublic"
Dungeon = "obDungeon"
Custom =  "obExplore"
Battle =  "obBattle"

Future Commands:
RegisterMod s:Mod
RegisterFriend s:fMod
OverrideEnable s:Mod
OverrideDisable s:Mod
OverrideSetDefaultFadeLength s:Mod i:FadeLength
OverrideSetMusicType s:Mod i:MusicType
OverrideGetMusicType s:Mod
OverrideStop s:Mod
OverrideStop s:Mod i:FadeMethod
OverrideStop s:Mod i:FadeMethod i:FadeLength
OverrideStop s:Mod i:FadeMethod i:FadeOutLength i:FadeInLength
OverrideRestart s:Mod
OverrideRestart s:Mod i:FadeMethod
OverrideRestart s:Mod i:FadeMethod i:FadeLength
OverrideRestart s:Mod i:FadeMethod i:FadeOutLength i:FadeInLength
OverridePause s:Mod
OverridePause s:Mod i:FadeMethod
OverridePause s:Mod i:FadeMethod i:FadeLength
OverrideResume s:Mod
OverrideResume s:Mod i:FadeMethod
OverrideResume s:Mod i:FadeMethod i:FadeLength
OverrideNext s:Mod
OverrideNext s:Mod i:FadeMethod
OverrideNext s:Mod i:FadeMethod i:FadeLength
OverrideNext s:Mod i:FadeMethod i:FadeOutLength i:FadeInLength